The increasing demand for digital video/audio information presents an ever increasing problem of transmitting and/or storing an enormous amount of information. With limited transmission bandwidth, codecs (coder/decoders) are often employed to cleverly compress the input data into encoded bitstreams, thereby increasing the overall amount of transmitted information.
For example, the Moving Picture Experts Group (MPEG) created the ISO/IEC international Standards 11172 and 13818 (generally referred to as MPEG-1 and MPEG-2 format respectively) to establish a standard for various coding/decoding strategies. Although these MPEG standards specify a general coding methodology and syntax for generating an MPEG compliant bitstream, many variations are permitted to accommodate a plurality of different applications and services such as desktop video publishing, video conferencing, digital storage media and television broadcast.
As such, various novel MPEG codec inventions have been developed to address the needs of different applications. These inventions generally address different coding parameters such as coding mode decisions, rate control, motion estimation/compensation, selection of frame type and the like. These inventions can incorporate very powerful coding methods with capability to analyze the content of the image sequence to deduce various information about the image sequence, e.g., motion information, scene changes and the like. Thus, the resulting codecs are often complex and computationally expensive to implement.
With the implementation of video-on-demand applications, the video source, e.g., a movie, may be repeatedly transmitted to different viewers. Each transmission of the movie often requires the use of an encoder to compress the movie for efficient transmission via a communication channel having a predefined transmission bandwidth. Since the transmission bandwidth and other transmission parameters may change in real time, e.g., high viewing time period versus low viewing time period, the encoder may have to encode the same movie differently for each transmission, i.e., adjusting various coding parameters to accommodate the current transmission parameters.
Unfortunately, some encoders may not be able to adjust the coding parameters properly in light of changing transmission parameters or unusual video content, e.g., scene changes or a series of very complex frames. Furthermore, it would be desirable to reduce the computational cycles of an encoder which is used repeatedly to code the same image sequence, e.g., a movie.
Thus, if information concerning the image sequence ("side information"), e.g., the location of scene cuts, the complexity of a particular frame, the motion information for the frames and the like, can be deduced in advance, such side information can be made available to the encoder to assist the encoder in adjusting a set of coding parameters that will best address a particular transmission or storage environment.
Therefore, a need exists in the art for an apparatus and method that provides "side information" that can be inserted with the image sequence or forwarded directly to the encoder to assist in optimizing the coding of the image sequence.